#define _CRT_SECURE_NO_WARNINGS 1
//#include<iostream>
//using namespace std;
//class A
//{
//public:
//	A(int a=0,int b=10)
//		:_a(a),_b(b)
//	{
//		
//	}
//	void Print()
//	{
//		cout<<_a<<" "<<_b << endl;
//	}
//	~A()
//	{
//		cout<<"~A()" << endl;
//	}
//private:
//	int _a;
//	int _b;
//};
//int main()
//{
//	A*a1=new A(1,520);
//	A* a2 = new A[4]{ {1,2} ,{3,4},{5,6},{7,8} };
//	delete a1;
//	delete[] a2;
//}
//template<class T>
//void Swap(T& a, T& b)
//{
//	T tmp = a;
//	a = b;
//	b = tmp;
//
//}
//#include<iostream>
//using namespace std;
//
//template<class T1>
//class Stack
//{
//	Stack(T1 capacity=0)
//		:_a1(new int[capacity]), _top = 0; _capacity = _capacity
//	{
//	}
//private:
//	T1* _a1;
//	int _top;
//	int _capacity;
//};
//int main()
//{
//	Stack<int> s1(3);
//}
#include<iostream>
using namespace std;
template<class T>
class A
{
public:
	A(T a=10)
	:_a(a)
	{
	}
private:
	T _a;
};
int main()
{
	A<double> a1(3);
}